package com.blue.base.demo.mappers;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.blue.base.demo.dto.UserPageDto;
import com.blue.base.demo.entity.User;
import com.blue.base.demo.vo.UserVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 路由表
 *
 * @author liulei
 * @version 1.0
 */
public interface UserMapper extends BaseMapper<User> {
    /**
     * <p>
     * 查询 : 根据state状态查询用户列表，分页显示
     * </p>
     *
     * @param page    分页对象,xml中可以从里面进行取值,传递参数 Page 即自动分页,必须放在第一位(你可以继承Page实现自己的分页对象)
     * @param userDto 参数对象
     * @return 分页对象
     */
    IPage<UserVo> pageQuery(Page<UserVo> page, @Param("userDto") UserPageDto userDto);

    /**
     * 赋予用户的基础部门权限菜单信息
     *
     * @param userId 用户ID
     * @param list   菜单ID集合
     * @return int
     */
    int initMenusByDeptMenus(@Param("userId") Long userId, @Param("list") List<Long> list);
}